﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Negocios
{
    public class ListaMensajesServidor
    {
        private List<Message> listaMenssage;

        public List<string> MensajesPorUsuario(string usuario)
        {
            List<string> lista = new List<string>();
            for (int i = 0; i < listaMenssage.Count; i++)
            {
                string resultado = VerificarPertenenciaDeMensaje(usuario, listaMenssage.ElementAt(i));
                if (resultado != null)
                {
                    lista.Add(i + "ª" + resultado);
                }
            }
            return lista;
        }
        public void AtualizarEstadoCorreo(int posicion)
        {
            for (int i = 0; i < listaMenssage.Count; i++)
            {
                if (i == posicion)
                {
                    Message mensaje = listaMenssage.ElementAt(i);
                    mensaje.cambiarEstado(true);
                }
            }
        }

        public string VerificarPertenenciaDeMensaje(string usuario, Message mensaje)
        {
            if (usuario == mensaje.SeleccionarDestinatario())
            {
                return mensaje.toString();
            }
            return null;
        }
        public ListaMensajesServidor(List<Message> listaMenssage)
        {
            this.listaMenssage = listaMenssage;
        }
        public ListaMensajesServidor()
        {
            this.listaMenssage = new List<Message>();
        }
        public void Add_ListaMensajesServidor(Message objMessage)
        {
            listaMenssage.Add(objMessage);
        }
        public int Count_ListaClientesRegistrados()
        {
            return listaMenssage.Count;
        }
        public Message ElementAt_listaMailClientRegistragos(int posicion)
        {
            Message Message = listaMenssage.ElementAt(posicion);
            return Message;
        }
        public void RemoveAt_listaMailClientRegistragos(int posicion)
        {
            listaMenssage.RemoveAt(posicion);
        }
    }
}
